<?php
/**
 * Live
 *
 * @category Jdcloud
 * @package  DragonJd\Live
 * @author   Jdcloud <jdcloud-api@jd.com>
 * @license  Apache-2.0 http://www.apache.org/licenses/LICENSE-2.0
 * @link     https://www.jdcloud.com/help/faq
 */

namespace DragonJd\Live;

use DragonJd\JdCloudClient;
use DragonJd\Api\Service;
use DragonJd\Api\DocModel;
use DragonJd\Api\ApiProvider;
use DragonJd\PresignUrlMiddleware;

/**
 * Client used to interact with live.
 *
 * @method \DragonJd\Result describeLiveApp(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveAppAsync(array $args = [])
 * @method \DragonJd\Result addLiveApp(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveAppAsync(array $args = [])
 * @method \DragonJd\Result stopLiveApp(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopLiveAppAsync(array $args = [])
 * @method \DragonJd\Result describeLivePlayAuthKey(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLivePlayAuthKeyAsync(array $args = [])
 * @method \DragonJd\Result setLivePlayAuthKey(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLivePlayAuthKeyAsync(array $args = [])
 * @method \DragonJd\Result describeLiveRestartAuthKey(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveRestartAuthKeyAsync(array $args = [])
 * @method \DragonJd\Result setLiveRestartAuthKey(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveRestartAuthKeyAsync(array $args = [])
 * @method \DragonJd\Result describeLiveBillData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveBillDataAsync(array $args = [])
 * @method \DragonJd\Result describeLiveDomainCertificate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveDomainCertificateAsync(array $args = [])
 * @method \DragonJd\Result setLiveDomainCertificate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveDomainCertificateAsync(array $args = [])
 * @method \DragonJd\Result describeLiveRestartDomainCertificate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveRestartDomainCertificateAsync(array $args = [])
 * @method \DragonJd\Result setLiveRestartDomainCertificate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveRestartDomainCertificateAsync(array $args = [])
 * @method \DragonJd\Result describeLiveDomains(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveDomainsAsync(array $args = [])
 * @method \DragonJd\Result addLiveDomain(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveDomainAsync(array $args = [])
 * @method \DragonJd\Result startLiveDomain(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startLiveDomainAsync(array $args = [])
 * @method \DragonJd\Result stopLiveDomain(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopLiveDomainAsync(array $args = [])
 * @method \DragonJd\Result describeLiveDomainDetail(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveDomainDetailAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveDomain(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveDomainAsync(array $args = [])
 * @method \DragonJd\Result addLiveRestartDomain(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveRestartDomainAsync(array $args = [])
 * @method \DragonJd\Result createLiveForwardTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLiveForwardTaskAsync(array $args = [])
 * @method \DragonJd\Result updateLiveForwardTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateLiveForwardTaskAsync(array $args = [])
 * @method \DragonJd\Result queryLiveForwardTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryLiveForwardTaskAsync(array $args = [])
 * @method \DragonJd\Result startLiveForwardTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startLiveForwardTaskAsync(array $args = [])
 * @method \DragonJd\Result stopLiveForwardTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopLiveForwardTaskAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveForwardTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveForwardTaskAsync(array $args = [])
 * @method \DragonJd\Result addCustomLiveStreamQualityDetectionTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addCustomLiveStreamQualityDetectionTemplateAsync(array $args = [])
 * @method \DragonJd\Result describeCustomLiveStreamQualityDetectionTemplates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCustomLiveStreamQualityDetectionTemplatesAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamAppQualityDetection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamAppQualityDetectionAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamDomainQualityDetection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamDomainQualityDetectionAsync(array $args = [])
 * @method \DragonJd\Result setLiveStreamQualityDetectionNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveStreamQualityDetectionNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result deleteCustomLiveStreamQualityDetectionTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteCustomLiveStreamQualityDetectionTemplateAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamAppQualityDetection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamAppQualityDetectionAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamDomainQualityDetection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamDomainQualityDetectionAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamQualityDetectionNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamQualityDetectionNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamQualityDetectionNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamQualityDetectionNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result describeQualityDetectionBinding(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeQualityDetectionBindingAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveRecordings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveRecordingsAsync(array $args = [])
 * @method \DragonJd\Result openLiveP2p(array $args = [])
 * @method \GuzzleHttp\Promise\Promise openLiveP2pAsync(array $args = [])
 * @method \DragonJd\Result closeLiveP2p(array $args = [])
 * @method \GuzzleHttp\Promise\Promise closeLiveP2pAsync(array $args = [])
 * @method \DragonJd\Result describeLiveP2pConfigs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveP2pConfigsAsync(array $args = [])
 * @method \DragonJd\Result describeCustomLiveStreamRecordTemplates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCustomLiveStreamRecordTemplatesAsync(array $args = [])
 * @method \DragonJd\Result addCustomLiveStreamRecordTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addCustomLiveStreamRecordTemplateAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamAppRecord(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamAppRecordAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamDomainRecord(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamDomainRecordAsync(array $args = [])
 * @method \DragonJd\Result describeCustomLiveStreamRecordConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCustomLiveStreamRecordConfigAsync(array $args = [])
 * @method \DragonJd\Result setLiveStreamRecordNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveStreamRecordNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result deleteCustomLiveStreamRecordTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteCustomLiveStreamRecordTemplateAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamAppRecord(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamAppRecordAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamDomainRecord(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamDomainRecordAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamRecordNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamRecordNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamRecordNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamRecordNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result addLiveRecordTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveRecordTaskAsync(array $args = [])
 * @method \DragonJd\Result describeRecordBinding(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeRecordBindingAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStatisticGroupByStream(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStatisticGroupByStreamAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStatisticGroupByArea(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStatisticGroupByAreaAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStatisticGroupByAreaIsp(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStatisticGroupByAreaIspAsync(array $args = [])
 * @method \DragonJd\Result describeLivePublishStatisticGroupByStream(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLivePublishStatisticGroupByStreamAsync(array $args = [])
 * @method \DragonJd\Result describePublishStreamInfoData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describePublishStreamInfoDataAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamHistoryUserNum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamHistoryUserNumAsync(array $args = [])
 * @method \DragonJd\Result describeLivePublishStreamNum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLivePublishStreamNumAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamPlayerRankingData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamPlayerRankingDataAsync(array $args = [])
 * @method \DragonJd\Result describeLiveTranscodeStreamList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveTranscodeStreamListAsync(array $args = [])
 * @method \DragonJd\Result describeLiveTranscodeStreamNum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveTranscodeStreamNumAsync(array $args = [])
 * @method \DragonJd\Result describeLiveTranscodeStreamPlayerUserNum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveTranscodeStreamPlayerUserNumAsync(array $args = [])
 * @method \DragonJd\Result describeLiveTranscodeStreamBandwidth(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveTranscodeStreamBandwidthAsync(array $args = [])
 * @method \DragonJd\Result describeDomainOnlineStream(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDomainOnlineStreamAsync(array $args = [])
 * @method \DragonJd\Result describeDomainsLog(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDomainsLogAsync(array $args = [])
 * @method \DragonJd\Result describeUrlRanking(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeUrlRankingAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamPublishInfoByPage(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamPublishInfoByPageAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamPlayInfoByPage(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamPlayInfoByPageAsync(array $args = [])
 * @method \DragonJd\Result describeLiveTranscodingDurationData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveTranscodingDurationDataAsync(array $args = [])
 * @method \DragonJd\Result describeLiveFileStorageData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveFileStorageDataAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamBandwidthData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamBandwidthDataAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamPublishBandwidthData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamPublishBandwidthDataAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamTrafficData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamTrafficDataAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamPublishTrafficData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamPublishTrafficDataAsync(array $args = [])
 * @method \DragonJd\Result describeLiveSnapshotData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveSnapshotDataAsync(array $args = [])
 * @method \DragonJd\Result describeLivePornData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLivePornDataAsync(array $args = [])
 * @method \DragonJd\Result addCustomLiveStreamSnapshotTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addCustomLiveStreamSnapshotTemplateAsync(array $args = [])
 * @method \DragonJd\Result describeCustomLiveStreamSnapshotConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCustomLiveStreamSnapshotConfigAsync(array $args = [])
 * @method \DragonJd\Result describeCustomLiveStreamSnapshotTemplates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCustomLiveStreamSnapshotTemplatesAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamAppSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamAppSnapshotAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamDomainSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamDomainSnapshotAsync(array $args = [])
 * @method \DragonJd\Result setLiveStreamSnapshotNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveStreamSnapshotNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result deleteCustomLiveStreamSnapshotTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteCustomLiveStreamSnapshotTemplateAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamAppSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamAppSnapshotAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamDomainSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamDomainSnapshotAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamSnapshotNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamSnapshotNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamSnapshotNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamSnapshotNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result describeSnapshotBinding(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeSnapshotBindingAsync(array $args = [])
 * @method \DragonJd\Result forbidLiveStream(array $args = [])
 * @method \GuzzleHttp\Promise\Promise forbidLiveStreamAsync(array $args = [])
 * @method \DragonJd\Result resumeLiveStream(array $args = [])
 * @method \GuzzleHttp\Promise\Promise resumeLiveStreamAsync(array $args = [])
 * @method \DragonJd\Result interruptLiveStream(array $args = [])
 * @method \GuzzleHttp\Promise\Promise interruptLiveStreamAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamInfo(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamInfoAsync(array $args = [])
 * @method \DragonJd\Result setLiveStreamNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveStreamNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamNotifyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamNotifyConfigAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamOnlineList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamOnlineListAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamPublishList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamPublishListAsync(array $args = [])
 * @method \DragonJd\Result openLiveRestart(array $args = [])
 * @method \GuzzleHttp\Promise\Promise openLiveRestartAsync(array $args = [])
 * @method \DragonJd\Result closeLiveRestart(array $args = [])
 * @method \GuzzleHttp\Promise\Promise closeLiveRestartAsync(array $args = [])
 * @method \DragonJd\Result describeLiveRestartConfigs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveRestartConfigsAsync(array $args = [])
 * @method \DragonJd\Result openLiveTimeshift(array $args = [])
 * @method \GuzzleHttp\Promise\Promise openLiveTimeshiftAsync(array $args = [])
 * @method \DragonJd\Result closeLiveTimeshift(array $args = [])
 * @method \GuzzleHttp\Promise\Promise closeLiveTimeshiftAsync(array $args = [])
 * @method \DragonJd\Result describeLiveTimeshiftConfigs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveTimeshiftConfigsAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamDomainTranscode(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamDomainTranscodeAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamAppTranscode(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamAppTranscodeAsync(array $args = [])
 * @method \DragonJd\Result addCustomLiveStreamTranscodeTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addCustomLiveStreamTranscodeTemplateAsync(array $args = [])
 * @method \DragonJd\Result describeCustomLiveStreamTranscodeTemplates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCustomLiveStreamTranscodeTemplatesAsync(array $args = [])
 * @method \DragonJd\Result describeSystemLiveStreamTranscodeTemplates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeSystemLiveStreamTranscodeTemplatesAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamTranscodeConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamTranscodeConfigAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamDomainTranscode(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamDomainTranscodeAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamAppTranscode(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamAppTranscodeAsync(array $args = [])
 * @method \DragonJd\Result describeCustomLiveStreamTranscodeTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCustomLiveStreamTranscodeTemplateAsync(array $args = [])
 * @method \DragonJd\Result deleteCustomLiveStreamTranscodeTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteCustomLiveStreamTranscodeTemplateAsync(array $args = [])
 * @method \DragonJd\Result describeTranscodeBinding(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTranscodeBindingAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamDomainTranslate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamDomainTranslateAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamAppTranslate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamAppTranslateAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamTranslate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamTranslateAsync(array $args = [])
 * @method \DragonJd\Result describeSystemLiveStreamTranslateTemplates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeSystemLiveStreamTranslateTemplatesAsync(array $args = [])
 * @method \DragonJd\Result describeLiveStreamTranslateConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveStreamTranslateConfigAsync(array $args = [])
 * @method \DragonJd\Result describeLiveDomainTranslateConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLiveDomainTranslateConfigAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamDomainTranslate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamDomainTranslateAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamAppTranslate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamAppTranslateAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamTranslate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamTranslateAsync(array $args = [])
 * @method \DragonJd\Result describeTranslateBinding(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTranslateBindingAsync(array $args = [])
 * @method \DragonJd\Result pauseLiveStreamTranslate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise pauseLiveStreamTranslateAsync(array $args = [])
 * @method \DragonJd\Result resumeLiveStreamTranslate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise resumeLiveStreamTranslateAsync(array $args = [])
 * @method \DragonJd\Result addCustomLiveStreamWatermarkTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addCustomLiveStreamWatermarkTemplateAsync(array $args = [])
 * @method \DragonJd\Result describeCustomLiveStreamWatermarkTemplates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCustomLiveStreamWatermarkTemplatesAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamAppWatermark(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamAppWatermarkAsync(array $args = [])
 * @method \DragonJd\Result addLiveStreamDomainWatermark(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addLiveStreamDomainWatermarkAsync(array $args = [])
 * @method \DragonJd\Result describeCustomLiveStreamWatermarkConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCustomLiveStreamWatermarkConfigAsync(array $args = [])
 * @method \DragonJd\Result deleteCustomLiveStreamWatermarkTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteCustomLiveStreamWatermarkTemplateAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamAppWatermark(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamAppWatermarkAsync(array $args = [])
 * @method \DragonJd\Result deleteLiveStreamDomainWatermark(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLiveStreamDomainWatermarkAsync(array $args = [])
 * @method \DragonJd\Result describeWatermarkBinding(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeWatermarkBindingAsync(array $args = [])
 */
class LiveClient extends JdCloudClient
{
    public function __construct(array $args)
    {
        $args['with_resolved'] = function (array $args) {
            $this->getHandlerList()->appendInit(
                PresignUrlMiddleware::wrap(
                    $this,
                    $args['endpoint_provider'],
                    [
                        'operations' => [
                        ],
                        'service' => 'live',
                        'presign_param' => 'PresignedUrl',
                    ]
                ),
                'live'
            );
        };

        parent::__construct($args);
    }
}